package util.ftp;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.SocketException;

import org.apache.commons.net.ftp.FTPClient;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.XMLOutputter;

public class Dx_xml {
	/**
	  * 短信接口xml文件上传
	  * @param ip			链接ip
	  * @param userName		链接用户名
	  * @param pwd			链接密码
	  * @param path			上传文件地址
	  */
	 public void ftpUpload(String ip,String userName,String pwd,String path){
	  //获取配置文件信息
	  //判断配置信息是否存在
	   FTPClient ftpClient = new FTPClient();
	   FileInputStream fis =null;   
	   try {
		    ftpClient.connect(ip);   //设置你连接ftp服务器地址
		    ftpClient.login(userName, pwd);  //设置ftp服务器的用户名，密码
		    //读取你要上传的文件
		    File file = new File(path);
		    fis = new FileInputStream(file);
		    //设置上传目录
		    ftpClient.changeWorkingDirectory("");
		    ftpClient.setBufferSize(1024);
		    ftpClient.setControlEncoding("GBK");
		    //设置文件类型
		    ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
		    //上传后文件名称
		    boolean falg = ftpClient.storeFile(file.getName(), fis);
		    if(falg){
		     System.out.println("短信接口上传成功OK");
		    }else{
		     System.out.println("短信接口上传失败NO");
		    }
	    
	   } catch (SocketException e) {
	    e.printStackTrace();
	   } catch (IOException e) {
	    e.printStackTrace();
	   }finally{
		    try {
		    	//关闭接口
		    	ftpClient.disconnect();
		    } catch (IOException e) {
		     e.printStackTrace();
		    }
	   }  
	 }
	 /**
	  * 创建短信接口的xml文件
	  * @param path 		文件存放路径，包含文件名
	  * @param nsrsbh		纳税人识别号
	  * @param tel			电话
	  * @param message		内容
	  * @param title		标题
	  * @return 			文件路径
	  * @throws IOException
	  * @throws JDOMException
	  */
	 public String  BuildXMLDx(String path,String nsrsbh,String tel,String message,String title) throws IOException, JDOMException
		 {
			  // 创建根节点 list;
			  Element root = new Element("root");
			  // 根节点添加到文档中；
			  Document Doc = new Document(root);
			  // 创建节点msg;
			  Element elements12 = new Element("msg");
			  // 给 elements12 节点添加属性 id;
			  //<!--  纳税人识别号  -->
			  elements12.addContent(new Element("xxid").setText(nsrsbh));
			  //电话号码
			  elements12.addContent(new Element("target").setText(tel));
			  //内容
			  elements12.addContent(new Element("content").setText(message));
			  //标题
			  elements12.addContent(new Element("title").setText(title));
			  elements12.addContent(new Element("cp").setText("1"));
			  // 给父节点list添加elements12子节点;
			  root.addContent(elements12);
			  XMLOutputter XMLOut = new XMLOutputter();
			  //创建文件路径
			  	File file = new File(path); 
				File parent = file.getParentFile(); 
				if(parent!=null&&!parent.exists()){ 
					parent.mkdirs(); 
				} 
			  // 输出 user.xml 文件；
			  XMLOut.output(Doc, new FileOutputStream(path));
		  return path;
		 }
}
